Towards Proof Generating Compilers
نویسندگان
چکیده
Correctness of compilation is important for the reliability of software. New techniques to guarantee correctness do not verify the compiler itself, but check for each compiled program whether it is correctly translated. Following these ideas, we developed an approach in which checking is realized as proof checking within a formal specification and verification framework. Based on formal specifications of source and target language and a translation predicate, compilers produce, in addition to the target program c, a proof that c is correct w.r.t. its source program. This proof can be checked independently of the compiler by the framework. Thus, it can be used as a translation certificate. The paper describes the overall approach and applies it to a simple translation scenario. Specification and verification is done within the theorem prover Isabelle/HOL. To show the flexibility of the approach, we present two different proof techniques for translation correctness.
منابع مشابه
On Essential Program Annotations and Completeness of Verifying Compilers
It is widely recognized that interaction is indispensable in deductive verification of real-world code. A verification engineer has to guide the proof search and provide information reflecting their insight into the workings of the program. Lately we have seen a shift towards a paradigm, called verifying compilers, where the required information is provided in form of program annotations instea...
متن کاملTowards Rigorous Compiler
This paper sketches a rigorous correctness proof of a compiler executable. We will emphasize the central r^ ole of partial program correctness and its preservation, which captures the intuitive correct-ness requirements for transformational programs and in particular for compilers on real machines. Although often left out of sight, implementation veriication is deenitely necessary, not only but...
متن کاملVelociraptor: A compiler toolkit for numerical programs targeting CPUs and GPUs
Developing compilers that allow scientific programmers to use multicores and GPUs is of increasing interest, however building such compilers requires considerable effort. We present Velociraptor: a portable compiler toolkit that can be used to easily build compilers for numerical programs targeting multicores and GPUs. Velociraptor provides a new high-level IR called VRIR which has been specifi...
متن کاملOptimal Compression of Parsing Tables in a Parsergenerating System
This paper describes the optimal table-compression algorithm of a parser-generating system for implementing compilers currently in use at Purdue University. A proof is given of the minimality of the parsing tables generated by the algorithm, and figures are presented that demonstrate the superiority of our system in terms of the small overall size of parsers generated by it. In addi tion, our. ...
متن کاملSound and Complete Elimination of SingletonKindsKarl
Singleton kinds provide an elegant device for expressing type equality information resulting from modern module languages, but they can complicate the metatheory of languages in which they appear. I present a translation from a language with singleton kinds to one without , and prove that translation to be sound and complete. This translation is useful for type-preserving compilers generating t...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- Electr. Notes Theor. Comput. Sci.
دوره 132 شماره
صفحات -
تاریخ انتشار 2005